export default {
    // 命名空间
    namespaced: true,
    state: {
      token: "",
    },
    getters: {},
    mutations: {
      setToken(state, payload) {
        state.token = payload;
      },
    },
    actions: {
      // 异步
      async fetchToken(store) {
        const [err1, { encryptedData, rawData, iv, signature }] =
          await uni.getUserProfile({
            desc: "提供更好的服务",
          });
        const [err2, { code }] = await uni.login(); // 获取 5分钟有效期的 临时登录凭证
        const tokenParams = { encryptedData, rawData, iv, signature, code };
        // this 指向 store 对象  ， 里面 没有$u 代码
        // $u  是uview 框架 去看文档 uni.$u
        const result3 = await uni.$u.post("/users/wxlogin", tokenParams);
        const { token } = result3.message;
        store.commit("setToken", token);
      },
    },
  };